Kalman filter based method and apparatus for linear equalization of CDMA downlink channels

ABSTRACT

Disclosed is a minimum mean square error (MMSE) equalizer and method for single-user detection of a signal received from a downlink code-division multiple access CDMA channel. The equalizer includes a Kalman filter having an input coupled to the received signal for generating a best linear unbiased estimate of a transmitted chip sequence for a single user. A reduced computational complexity Kalman filter embodiment is also disclosed that only periodically updates a Kalman filter prediction error covariance matrix P(k|k−1), a Kalman filter filtering error covariance matrix P(k|k) and the Kalman gain K(k).

TECHNICAL FIELD

[0001] This invention relates generally to Code Division Multiple Access (CDMA) receivers and, more specifically, relates to channel equalizers for use in CDMA downlink (base station to mobile station) receivers.

BACKGROUND OF THE INVENTION

[0002] The following abbreviations will be employed in the following description of the background art and in the description of the presently preferred embodiments of this invention:

[0003] BIBO: bounded-input bounded-output

[0004] BLER: block error rate

[0005] BLUE: best linear unbiased estimator

[0006] cFIR: chip finite impulse response

[0007] EKF: extended Kalman filter

[0008] FIR: finite-impulse response

[0009] KF: Kalman filter

[0010] LMMSE: linear minimum mean squared error

[0011] MIMO: multiple input multiple output

[0012] MMSE: minimum mean squared error

[0013] SISO: single input single output

[0014] swRLS: sliding window recursive least squares

[0015] QAM: quadrature amplitude modulation.

[0016] QPSK: quadrature phase shift key

[0017] Channel equalization is necessary for improving the performance of downlink CDMA receivers. The existence of a multipath channel destroys the orthogonality among the spreading codes, as clearly seen from the fact that the RAKE receiver in many cases reaches a noise floor at a frame error rate above 0.1. One of the simplest ways of improving the receiver performance, for downlink single-user detection, is to restore the code orthogonality. This is motivated in part by the fact that in single-user detection the receiver does not know the spreading codes of the interfering users, which are required by some of the previously proposed multi-user detection techniques of the prior art.

[0018] Well-known methods in the literature for orthogonality restoration rely on LMMSE FIR equalizers, realized either at the chip level or the symbol level. These equalizers may be provided in an adaptive or in a non-adaptive/block form. The block implementation requires a matrix inversion for every segment of data over which the observation sequence is considered stationary. Frequent matrix inversions may, however, impose a severe computational burden on the receiver.

[0019] The symbol-level LMMSE equalizer of T. P. Krauss, W. J. Hillery, and M. D. Zoltowsky, “MMSE equalization for forward link in 3G CDMA: symbol-level versus chip-level,” Tenth IEEE workshop on Stat. Signal and Array Proc., 2000 requires one matrix inversion per segment. This equalizer, in essence, is a chip-level LMMSE equalizer that incorporates the descrambling and the despreading operations, typically done outside of the equalizer. Its objective, however, is to minimize the error variance of the symbol estimate rather than of the chip estimate. On the other hand, matrix inversion can be avoided totally by means of adaptive equalizers. Adaptive implementations can be performed in a number of ways. A well-known technique uses the stochastic gradient algorithm, from which the Griffiths algorithm is derived by replacing the covariance matrix with a rank-1 approximation. However, stochastic gradient-based algorithms suffer from slow convergence and tend to be unreliable. A better alternative is to update the covariance matrix continually in the weighted-average recursive fashion R(t+1)=λR(t)+(1−λ)y(t+1)y^(H)(t+1) which has an adaptive inverse form, with v_((l)) being the forgetting factor. In many cases, however, even this recursion is not sufficiently reliable.

[0020] The Kalman filter (KF) is a powerful statistical method suitable for the estimation/tracking of not only stationary but also non-stationary processes. Reference in this regard can be made to M. H. Hayes, Statistical Digital Signal Processing and Modeling, John Wiley & Sons, Inc.: New York, N.Y., 1996, and to R. E. Kalman, “A new approach to linear filtering and prediction problems,” Trans. ASME, J. Basic Engineering, ser. 82D, pp.35-45, March 1960. Several authors, most notably Iltis et al (R. A. Iltis and L. Mailaender, “An adaptive multiuser detector with joint amplitude and delay estimation,” IEEE J. Selected Areas in Com., vol. 12, pp. 774-85, June 1994, and R. A. Iltis, “Joint estimation of PN code delay and multipath using the extended Kalman filter,” IEEE Trans. Com., vol. 38, pp. 1677-85, October 1990) may have used Kalman filtering for joint signal detection and parameter estimation. It can be noted in this regard that these authors use the extended Kalman filter (EKF) for amplitude and delay estimation. The true state-space formulation involving delay parameters manifests a nonlinear system, due to the fact that the observation is nonlinear with respect to the delays. Hence, the basic principle of the EKF is to linearize the observation equation, by means of the first-order Taylor series expansion; the state dynamics is described by imposing a Gauss-Markov model onto the state evolution. More work of this nature on delay estimation using the EKF can be found in T. J. Lim and L. K. Rasmussen, “Adaptive symbol and parameter estimation in asynchronous multiuser CDMA detectors,” IEEE Trans. on Com., vol. 45, pp. 213-20, February 1997; R. A. Iltis, “A DS-CDMA tracking mode receiver with joint channel/delay estimation and MMSE detection,” IEEE Trans. on Com., vol.49, pp.1770-9, October 2001; and in K. J. Kim and R. A. Iltis, “Joint detection and channel estimation algorithms for QS-CDMA signals over time-varying channels,” IEEE Trans. on Com., vol. 50, pp. 845-55, May 2002.

[0021] Other authors have discussed techniques that are more relevant to CDMA downlink equalization than the above-mentioned references: T. J. Lim, L. K. Rasmussen, and H. Sugimoto, “An asynchronous multiuser CDMA detector based on the Kalman filter,” IEEE J. on Select. Areas in Com., vol. 16, pp. 1711-22, December 1998; T. J. Lim and Y. Ma, “The Kalman filter as the optimal linear minimum mean-squared error multiuser CDMA detector,” IEEE Trans. Info. Theory, vol.46, pp. 2561-6, November 2000; Z. Xu and T. Wang, “Blind detection of CDMA signals based on Kalman filter,” in Record of the 35^(th) Asilomar Conf. on Signals, Systems and Computers, vol.2, pp. 1545-9,2001; and L.-M. Chen, B.-S. Chen, and W.-S. Hou, “Adaptive multiuser DFE with Kalman channel estimation for DS-CDMA systems in multipath fading channels,” Elsevier Signal Processing, vol. 81, pp. 713-33, 2001. Most interesting perhaps is the state-space formulation of T. J. Lim, L. K. Rasmussen, and H. Sugimoto, “An asynchronous multiuser CDMA detector based on the Kalman filter,” IEEE J. on Select. Areas in Corn., vol. 16, pp. 1711-22, December 1998. In this formulation, each element of the state vector includes the channel taps and the transmitted symbols of all users. What makes this formulation interesting, in particular, is the fact that it yields the symbol estimate (rather than the chip estimate). The KF for this model operates at the chip level (rather than at the symbol level); and such a strategy avoids matrix inversion in computing the Kalman gain, while taking advantage of the ability of the KF to handle nonstationary dynamics, i.e., a time-varying state-dynamics matrix.

[0022] Another state-space formulation of interest is presented in T. J. Lim and Y. Ma, “The Kalman filter as the optimal linear minimum mean-squared error multiuser CDMA detector,” IEEE Trans. Info. Theory, vol. 46, pp. 2561-6, November 2000, where the state vector consists of all users' transmitted symbols at the current time epoch, and the measurement matrix is the product of the channel matrix and one consisting of the spreading codes. This formulation leads to a state-space model that requires a matrix inversion per symbol interval; and the size of the Hermitian matrix to be inverted is no less than the processing gain. A state-space model similar to the one proposed by T. J. Lim and Y. Ma can be found in L.-M. Chen, B.-S. Chen, and W.-S. Hou, “Adaptive multiuser DFE with Kalman channel estimation for DS-CDMA systems in multipath fading channels,” Elsevier Signal Processing, vol.81, pp.713-33, 2001. Other state-space formulations can be found in L.-M. Chen, B.-S. Chen, and W.-S. Hou, “Adaptive multiuser DFE with Kalman channel estimation for DS-CDMA systems in multipath fading channels,” Elsevier Signal Processing, vol. 81, pp. 713-33, 2001, and in R. Chen, X. Wang, and J. S. Liu, “Adaptive joint detection and decoding in flat-fading channels via mixture Kalman filtering,” IEEE Trans. Info. Theory, vol.46, pp.2079-94, September 2000, which impose linear statistical dynamic models onto the channel.

[0023] In conclusion, all of the above-mentioned state-space formulations require knowledge of all users' spreading codes, making them suitable for multi-user detection but inappropriate for single-user detection.

[0024] In general, the problem was approached in the prior art by employing either of the following frameworks: (i) multi-user detection (linear or nonlinear, the latter more complicated and having better error performance) which requires knowledge of all user codes and has a complexity that increases with the number of users, and (ii) single-user detection with variants of FIR LMMSE equalizers that restores the orthogonality of user codes.

[0025] A need thus exists to provide a state-space approach, either at the symbol level or the chip level, that is well-suited for single-user detection in a CDMA downlink receiver.

SUMMARY OF THE PREFERRED EMBODIMENTS

[0026] The foregoing and other problems are overcome, and other advantages are realized, in accordance with the presently preferred embodiments of these teachings.

[0027] A method of this invention provides a new single-user detection approach that employs the Kalman filter with a novel state-space description of the downlink signal. The KF can be viewed as a variable length filter that elongates over time, although no actual filter taps are computed.

[0028] This invention also provides, in one aspect thereof, a sliding window RLS-like algorithm that is robust, stable, and has an improved tracking capability as compared to the weighted-average recursive form when used in fast fading environments. Since chip-level equalization of SISO channels based on the MMSE FIR filter principle has been well studied, this invention focuses on, but is not limited to, FIR MMSE implementations on MIMO systems.

[0029] A Kalman filter based linear equalization method for the CDMA downlink is described. The downlink CDMA signal is represented by a state-space model. With this formulation, the Kalman filter is used to obtain a BLUE of the transmitted chip sequence. An advantage of the state-space model is the fact that the equalization method is applicable directly to single-user detection; i.e., it does not require knowledge of the interfering users' spreading codes, and its complexity does not increase with the number of users. Furthermore, taking advantage of the quasi block-wise stationarity property of the signal, a method for reducing the computational complexity is also described. It is believed that the Kalman-filter based approach of this invention may offer a significant, for example, an approximately 2 dB, improvement over the conventional FIR filter-based LMMSE approach in terms of error performance. Furthermore, the reduced complexity approach provides a similar performance gain in many cases.

[0030] Suitable and non-limiting applications of this method include downlink CDMA mobile devices, such as cellular telephones, that comply with either the CDMA2000 or Wideband CDMA (WCDMA) standards.

[0031] In a preferred embodiment the algorithm is implemented in software form imbedded in a general-purpose signal processing chip or, for increased speed, in a special-purpose chip. As with other non-blind equalization methods, the preferred embodiment assumes that an estimate of the channel parameters is available from a receiver channel estimator.

[0032] This invention is described in the non-limiting context of methods and apparatus for performing equalization of SISO and MIMO downlink CDMA channels. The methods preferably employ a minimum mean squared error (MMSE) criterion. To achieve this objective, two categories of methods are presented.

[0033] The first category of methods utilizes the Kalman filter (KF) with the state-space representation of the channel model. The KF is realized both at the chip level and the symbol level. Since the scrambling code is known to the receiver, the symbol-level Kalman filter (SKF) may, with higher computational complexity, track the non-stationary behavior of the transmitted signal. The chip-level Kalman filter (CKF) may also track the non-stationarity of the downlink received signal, and requires significantly lower computational power than the SKF.

[0034] The second category of methods minimizes the MSE criterion applied to the received signal based on FIR filters. A preferred method of this category is the above-mentioned sliding window RLS-like adaptive algorithm, which is shown to be appropriate for fast tracking. A technique for reducing the KF's complexity is also presented.

[0035] Although the SKF can, in principle, completely track any non-stationarity, its practical application to CDMA may be limited to some degree due to a requirement to perform a matrix inversion every symbol; nevertheless, being considered the best linear unbiased estimator (BLUE), it can be used as a basis for performance comparison. The CKF, however, does not require matrix inversion. As such, while its performance is comparable to that of the SKF, its (reduced) computational complexity is comparable to that of the chip-level FIR (cFIR) LMMSE equalizer.

[0036] The disclosed state-space formulations, either at the symbol level or the chip level, are suitable for use in single-user detection on the CDMA downlink, an objective of which is to restore the spreading code orthogonality.

[0037] Disclosed herein is a MMSE equalizer and method for single-user detection of a signal received from a downlink CDMA channel. The equalizer includes a Kalman filter having an input coupled to the received signal for generating a best linear unbiased estimate of a transmitted chip sequence for a single user. A reduced computational complexity Kalman filter embodiment is also disclosed that only periodically updates a Kalman filter prediction error covariance matrix P(k|k−1), a Kalman filter filtering error covariance matrix P(k|k) and the Kalman gain K(k).

BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The foregoing and other aspects of these teachings are made more evident in the following Detailed Description of the Preferred Embodiments, when read in conjunction with the attached Drawing Figures, wherein:

[0039]FIG. 1 is a graph showing the convergence of the state error variance in a SISO system with M=1, N=1, Veh-A at v=50 km/h, U=25, SF#118.

[0040]FIG. 2 is a graph showing error performance for a QPSK SISO link with M=1, N=1, U=25, L=15, K=128, δ=7, f=240/5, Veh-A at (a) v=30 km/h, (b) v=50 km/h

[0041]FIG. 3 is a graph showing error performance for a QPSK SISO link with M=1, N=1, U=25, L=33, K=256, δ=16, λ=0.98, f=192/32, Veh-B at v=120 km/h.

[0042]FIG. 4 is a graph showing error performance for a 16QAM SISO link with M=1, N=1, U=25, L=15, K=256, δ=7, =224/8, Veh-A at v=50 km/h

[0043]FIG. 5 is a graph showing error performance for 16QAM SISO link with M=1, N=1, U=25, L=41, K=512, δ=20, f=96/16, Veh-B at v=120 km/h.

[0044]FIG. 6 is a graph showing error performance for a QPSK MIMO link with M=2, N=2, U=25, L=10, K=128, δ=5 Veh-A. (a) v=30 km/h, f=256/32; (b) v=50 km/h, f 240/5

[0045]FIG. 7 is a graph showing error performance of a QPSK MIMO link with M=2, N=1, U=25, L=9, K=192, δ=5, λ=0.99, Veh-A at (a) v=30 km/h, (b) v=50 km/h.

[0046]FIG. 8 is a graph showing error performance for a 16QAM MIMO link with M=2, N=2, U=25, L=10, K=192, δ=5, Veh-A at v=50 km/h.

[0047]FIG. 9A is a block diagram showing a SIMO transmitter, a multipath SIMO channel, and a SIMO receiver.

[0048]FIG. 9B is a block diagram of a portion of the SIMO receiver shown in FIG. 9A, and shows the SIMO Kalman filter-based equalizer in accordance with an aspect of this invention.

[0049]FIG. 10A is a block diagram showing a MIMO transmitter, a multipath MIMO channel, and a MIMO receiver.

[0050]FIG. 10B is a block diagram of a portion of the MIMO receiver shown in FIG. 10A, and shows the MIMO Kalman filter-based equalizer in accordance with an aspect of this invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0051] By way of introduction, and since the Kalman filter algorithm is widely known, the derivation of same is not repeated for each state-space model discussed below. Instead, a generic form of the Kalman algorithm is summarized in Table I.

[0052] For the various applications considered herein, the time index k stands for the symbol index n when applied to the symbol-level state-space models, or for the chip index i when applied to the chip-level state-space models. TABLE I Summary of the Kalman filter State-space model: x(k) = A(k)x(k − 1) + w(k) y(k) = H(k)x(k) + v(k) Notation: x(k|k) = the BLUE of x(k) based on all past observations {y(l):l ≦ k} Q_(w) (k) = E[w(k)w^(H) (k)] Q_(v) (k) = E[v(k)v^(H) (k)] Assumption: E[w(k)w^(H) (l)] = Q_(w) (k)δ(k − l): whiteness of the state noise E[v(k)v^(H) (l)] = Q_(v) (k)δ(k − l): whiteness of the measurement noise E[w(k)v^(H) (l)] = 0: state noise and measurement noise uncorrelated Initialization: x(0|0) = E[x(0)] P(0|0) = E{[x(0) − x(0|0)][x(0) − x(0|0)]^(H)} ≧ 0 Recursion: for k =1,2, . . . , compute x(k|k − 1) = A(k)x(k − 1|k − 1) P(k|k − 1) = A(k)P(k − 1|k − 1)A^(H) (k) + Q_(w) (k) K(k) = P(k|k − 1)H^(H) (k)[H(k)P(k|k − 1)H^(H) (k) + Q_(v) (k)]⁻¹ x(k|k) = x(k|k − 1) + K(k)[y(k) − H(k)x(k|k − 1)] P(k|k) = [I − K(k)H(k)]P(k|k − 1)

[0053] Before discussing the Kalman-filter based equalizer embodiments in accordance with this invention, reference is first made to FIGS. 9A, 9B, 10A and 10B for showing embodiments of SISO and MIMO RF communication systems. FIG. 9A is a block diagram showing a SIMO transmitter 10, a multipath SIMO channel 12 and a SIMO receiver 14. The transmitter 10 includes a spreading and scrambling block 10A that receives an input modulated (e.g., QPSK or QAM) symbol. stream a₁, . . . , a_(K) and that provides the spread and scrambled symbol stream to an transmit antenna 10B. The symbol stream is transmitted through the multipath downlink channel to N antennas 14A of the receiver 14, and applied to a receiver detection and decoding block 14B. FIG. 9B is a block diagram of the detection and decoding block 14B of the SIMO receiver 14. After being demodulated and sampled the received signal r is applied to a channel estimator 15A, that outputs a channel estimate H to the SIMO Kalman chip equalizer 15B. The received signal r is also applied to the SIMO Kalman chip equalizer 15B. The equalizer 15B outputs chip estimates to a descramble and despread block 15C. The descramble and despread block 15C outputs a descrambled and despread symbol stream to a deinterleaver and decoder block 15D.

[0054]FIG. 10A is a block diagram showing a MIMO transmitter 20, a multipath MIMO channel 22 and a MIMO receiver 24. The transmitter 20 includes a serial to parallel converter (S/P) 20A that outputs M versions of the modulated symbol stream to M spreading and scrambling blocks 20B. Spreading and scrambling blocks 20B each out the spread and scrambled symbol stream to an associated one of M transmit antennas 20C. The symbol stream is transmitted through the multipath downlink MIMO channel 22 to N antennas 24A of the receiver 24, and applied to a receiver detection and decoding block 24B. FIG. 10B is a block diagram of the detection and decoding block 24B of the MIMO receiver 24. After being demodulated and sampled the received signal r is applied to a channel estimator 25A, that outputs a channel estimate H to the MIMO Kalman chip equalizer 25B. The received signal r is also applied to the MIMO Kalman chip equalizer 25B. The equalizer 25B outputs chip estimates to a descramble and despread block 25C. The descramble and despread block 25C outputs a descrambled and despread symbol stream to a deinterleaver and decoder block 25D.

[0055] In the preferred, but non-limiting, embodiment of this invention the transmitters 10 and 20 are associated with CDMA base stations, and the receivers 14 and 24 are associated with CDMA mobile stations, such as cellular telephones.

[0056] A discussion is first made of the SISO signal model.

[0057] Consider a U-user system where the transmitted signal belonging to the uth user is

x _(u)(i)=A _(i) a _(u)(└i/F┘)s _(u)(|i| _(F)).  (1)

[0058] Here, i denotes the chip index, A_(u) the signal amplitude, a_(u)(n) the nth transmitted symbol, s_(u)=[s_(u)(0), . . . , s_(u)(F−1)]^(Y) the spreading sequence, and F the spreading factor. The notation └·┘ denotes the floor function and |·|_(F) denotes the modulo-F reduction. The total transmitted signal is the sum of all user signals scrambled by the scrambling sequence c(i): $\begin{matrix} {{x(i)} = {{c(i)}{\sum\limits_{u = 1}^{U}{{x_{u}(i)}.}}}} & (2) \end{matrix}$

[0059] In SISO systems with M transmit and N receive antennas, the signal impinging upon the rth receive antenna is given by $\begin{matrix} {{y_{r}(i)} = {{\sum\limits_{t = 1}^{M}{\left\lbrack {h_{r,0}^{t},\ldots \quad,h_{r,D}^{t}} \right\rbrack \begin{bmatrix} {x(i)} \\ \vdots \\ {X\left( {i - D} \right)} \end{bmatrix}}} + {v_{r}(i)}}} & (3) \end{matrix}$

[0060] for r=1, . . . , N. Here, h_(r,l) ^(t) denotes the lth tap of the channel impulse response between the tth transmit antenna and the rth receive antenna. The measurement noise processes v_(r)(i) are assumed to be white Gaussian and uncorrelated. This transmission scheme is of simple diversity where the same information sequence is transmitted via all transmit antennas.

[0061] The symbol-level SISO state-space model is next considered.

[0062] In this section the state-space model for the SKF is developed. As its name implies, the SKF updates the state estimate at each symbol epoch. Specifically, at the nth symbol interval, the best linear unbiased estimate (BLUE) of [x(nF+F−1), . . . , x(nF)] is sought based on all past observations {y_(r)(i)|≦nF+F−1, r=1, . . . , N}. To this end, let us define

y _(r)(n)≡[y _(r)(nF+F−1), . . . , y _(r)(nF)]^(T).  (4)

[0063] From (3) it follows that

y _(r)(n)=H _(r)(n)x(n)+{tilde over (y)} _(r)(n)+v _(r)(n)  (5)

[0064] where $\begin{matrix} {{{H_{r}(n)} \equiv {\sum\limits_{t = 1}^{M}\begin{bmatrix} h_{r,0}^{t} & \cdots & h_{r,D}^{t} & \quad & 0 \\ \quad & ⋰ & ⋰ & ⋰ & \quad \\ 0 & \quad & h_{r,0}^{t} & \cdots & h_{r,D}^{t} \end{bmatrix}}}:{F \times \left( {F + D} \right)}} & (6) \end{matrix}$

 v _(r) ≡[v _(r)(nF+F−1), . . . ,v _(r)(nF)]^(T)  (7)

x(n)≡[x(nF+F−1), . . . ,x(nF−D)]^(T).  (8)

[0065] The term {tilde over (y)}_(r)(n) in (5) represents the channel response due to the known pilots. When there is more than one transmit antenna, the pilots cannot be lumped into x(n) and, hence, {tilde over (y)}r(n) cannot be combined with the first term in (5). Since the channel matrix H_(r)(n) may vary, possibly slowly, from symbol to symbol, its explicit dependence on n is indicated. The vector of all the observed data at symbol interval n is obtained by stacking the observations from the individual antennas, i.e.,

y(n)≡[y ₁ ^(T)(n), . . . ,y _(N) ^(T)(n)]^(T).  (9)

[0066] The measurement equation can thus be written as

y(n)=H(n)x(n)+{tilde over (y)}(n)+v(n)  (10)

[0067] where

H(n)≡[H ₁ ^(T)(n), . . . ,H _(N) ^(T)(n)]^(T)  (11)

v(n)≡[v ₁ ^(T)(n), . . . ,v _(N) ^(T)(n)]^(T),  (12)

[0068] and {tilde over (y)}(n) is the contribution from all the pilots. The state dynamics is described by

x(n)=A(n)x(n−1)+w(n).  (13)

[0069] By inspection, it is seen that $\begin{matrix} {{A(n)} = \begin{bmatrix} 0_{F \times D} & 0_{F \times F} \\ I_{D} & 0_{D \times F} \end{bmatrix}} & (14) \end{matrix}$

 w(n)=[x(nF+F−1), . . . ,x(nF),0, . . . ,0]^(T)  (15)

[0070] where I_(D) is the identity matrix of size D; 0_(a×b) is an a×b zero matrix, and w(n) is called the state noise process. Although the state noise is white, it is nonstationary due to the presence of the long (scrambling) code. In particular, its covariance matrix is time-varying and takes the form

Q _(w)(k,n)≡E[w(k)w ^(H)(n)]=δ(k−n)Q _(w)(n)  (16)

[0071] where δ(·) is the Kronecker delta function and $\begin{matrix} {{Q_{w}(n)} = \begin{bmatrix} {{\overset{\sim}{Q}}_{w}(n)} & 0 \\ 0 & 0 \end{bmatrix}} & (17) \end{matrix}$

 {tilde over (Q)} _(w)(n)=C(n)R _(ss) C ^(H)(n)  (18) $\begin{matrix} {R_{ss} \equiv {E\left\lbrack {\sum\limits_{u = 1}^{U}{{A_{u}}^{2}{\overset{\sim}{s}}_{u}{\overset{\sim}{s}}_{u}^{H}}} \right\rbrack}} & (19) \end{matrix}$

 {tilde over (s)} _(u) ≡[s _(u)(F−1), . . . ,s _(u)(0)]^(H)  (20)

C(n)=diag(c(nF+F−1), . . . ,c(nF)).  (21)

[0072] The measurement noise process v(n) is assumed to be white and Gaussian with covariance matrix

Q ^(v)=σ_(v) ² I _(BF).  (22)

[0073] It is reasonable to assume that the measurement noise variance σ_(v) ² is known from the front-end noise figure. It should be noted that an adaptive routine for estimating σ_(v) ² can also be employed. If the matrix R_(ss) is unknown to the receiver, it may be approximated by

{circumflex over (R)} _(ss)=σ_(x) ² I _(F)  (23) $\begin{matrix} {{\sigma_{x}^{2} \equiv {E\left\lbrack {{x(i)}}^{2} \right\rbrack}} = {\sum\limits_{u = 1}^{U}{A_{u}}^{2}}} & (24) \end{matrix}$

[0074] where σ_(x) ² represents the total transmitted power. Simulation results indicate that R_(ss) and {circumflex over (R)}_(ss) yield similar performances, i.e. the performance loss when using {circumflex over (R)}_(ss) in place of R_(ss) is small in general and is almost nonexistent in a 25-user SISO system The form of the approximation (23) becomes exact when the system is fully loaded (i.e., U=F) and the users have equal powers; in which case it follows from (19) that

R _(ss)|_(U=F,A) _(u)=const=A_(u) =A _(o) ² FI _(F).  (25)

[0075] The approximation (23) is, thus, motivated by (25) and holds relatively well for normally to highly loaded systems. It is also possible to devise and incorporate into the KF a recursive routine for estimating {tilde over (Q)}_(w)(n).

[0076] Due to the presence of {tilde over (y)}(n), a slight modification takes place in the filtered state update which now takes the form

x(n|n)=x(n|n−1)+K(n)[y(n)−{tilde over (y)}(n)−H(n)x(n|n−1)].  (26)

[0077] The chip-level SISO state-space model is now considered.

[0078] It can be seen from the previous section that the symbol-level Kalman filter, is expensive since it requires the inversion of a matrix of size NF every symbol period. In this section the state-space model for the CKF is developed which requires a much lower computational power than the SKF. As its name implies, the CKF updates the state estimate at each chip epoch. Specifically, at the ith chip interval, the best linear unbiased estimate of x(i) is sought based on all past observations {y_(r)(k)|≦i, r=1, . . . , N}. To this end, let us define

y(i)≡[y ₁(i), . . . ,y _(N)(i)^(T).  (27)

[0079] From (3) it follows that

y(i)=H(i)x(i)+{tilde over (y)}(i)+v(i)  (28)

[0080] where

H(i)≡[h ₁(i), . . . ,h _(N)(i)]^(T)  (29)

x(i)≡[x(i), . . . ,x(i−D)]^(T)  (30) $\begin{matrix} {{h_{r}(i)} = {\sum\limits_{t = 1}^{M}\left\lbrack {{h_{r,0}^{t}(i)},\ldots \quad,{h_{r,D}^{t}(i)}} \right\rbrack^{T}}} & (31) \end{matrix}$

 v(i)≡[v ₁ ^(T)(i), . . . ,v _(N) ^(Y)(i)]^(T)  (32)

[0081] and the term {tilde over (y)}(i) in (28) represents the channel response due to the known pilot sequences. As in the symbol-level model, the pilots cannot, except the case where M=1, be lumped into x(i) since they are different for different transmit antennas. To describe the dynamics of the state, let us define $\begin{matrix} {{A(i)} = \begin{bmatrix} {0_{1 \times D}} & {0} \\ {I_{D}} & {0_{D \times 1}} \end{bmatrix}} & (33) \end{matrix}$

 w(i)=[x(i),0, . . . ,0]^(T).  (34)

[0082] Now one has the standard state equation

x(i)=A(i)x(i−1)+w(i).  (35)

[0083] In the development of the chip-level state-space model, it is assumed that the scrambled transmitted sequence is white, i.e.,

Q _(w)(k,n)≡E[w(k)w ^(H)(n)]=δ(k−n)Q _(w)  (36)

[0084] where

Q _(w) =diag(σ_(x) ²,0, . . . ,0).  (37)

[0085] As before, the measurement noise process v(n) is assumed to be white and Gaussian with covariance matrix

Q _(v)=σ_(v) ² I _(N).  (38)

[0086] As in the symbol-level case, the filtered state update is computed according to

x(i|i)=x(i|i−1)+K(i)[y(i)−{tilde over (y)}(i)−H(i)x(i|i−1)].  (39)

[0087] Having thus described the SISO system, a description is now made of the equalization of MIMO downlink channels.

[0088] For MIMO systems, it can be assumed that the transmit antennas carry uncorrelated data streams. Nonetheless, the same set of spreading codes is used for every transmit antenna. In the sequel, the superscript t, such as in x_(u) ^(t)(i), is used to denote the transmit antenna index. Other notations are as previously defined unless otherwise redefined.

[0089] A discussion is now made of the MIMO signal model.

[0090] Consider a U-user system where the signal of the uth user transmitted via the tth antenna is

x _(u) ^(t)(i)=A _(u) a _(u) ^(t)(└i/F┘)s _(u)(|i| _(F))  (40)

[0091] The total signal transmitted from antenna t is the sum of all user signals scrambled by the scrambling sequence c(i): $\begin{matrix} {{x^{t}(i)} = {{c(i)}{\sum\limits_{u = 1}^{U}{{x_{u}^{t}(i)}.}}}} & (41) \end{matrix}$

[0092] In MIMO systems with M transmit and N receive antennas, the signal impinging upon the rth receive antenna is given by $\begin{matrix} {{y_{r}(i)} = {{\sum\limits_{t = 1}^{M}{\left\lbrack {{h_{r,0}^{t}(i)},\ldots \quad,{h_{r,D}^{t}(i)}} \right\rbrack \begin{bmatrix} {x^{t}(i)} \\ \vdots \\ {x^{t}\left( {i - D} \right)} \end{bmatrix}}} + {v_{r}(i)}}} & (42) \\ {\quad {= {{{h_{r}^{t}(i)} \times (i)} + {v_{r}(i)}}}} & (43) \end{matrix}$

 =h _(r) ^(T)(i)x(i)+v _(r)(i)  (43)

[0093] where

h _(r)(i)≡[h _(r) ^(1T)(i), . . . ,h _(r) ^(MT)(i)]^(T)  (44)

x(i)≡[x ^(1T)(i), . . . ,x ^(MT)(i)]  (45)

h _(r) ^(t)(i)≡[h _(r,0) ^(t)(i), . . . ,h _(r,D) ^(t)(i)]^(T)  (46)

x ^(t)(i)≡[x ^(t)(i), . . . ,x ^(t)(i−D)]^(T)  (47)

[0094] for t=1, . . . , M and r=1, . . . , N. Note that the superscript T denotes matrix transposition; e.g., x^(1T)(i) is the transpose of x¹(i). The measurement noise processes v_(r)(i) are assumed to be i.i.d. white Gaussian noise such that E[v_(r)(k)v_(s)*(l)]=δ(r−s)δ(k−l)σ_(v) ².

[0095] Next, the MIMO chip FIR LMMSE equalizer is discussed.

[0096] In this section there is presented a FIR equalizer method based on the LMMSE framework. It is commonly perceived that adaptive/recursive FIR LMMSE equalizers tend to be unreliable and sensitive to the design parameters such as the step size and the forgetting factor. More reliable implementations of FIR LMMSE equalizers appear in the block form, which requires inversion of a large-size autocorrelation matrix. Although the conventional FFT-based approach is applicable to single-transmit-antenna systems with, or without, receive diversity (in temporal or spatial form), it is still not known as to whether the method is suitable for MIMO systems with multiple transmit antennas. Motivated by these shortcomings, an adaptive FIR equalizer is described having the sliding window recursive least squares (swRLS) form. The swRLS algorithm is as reliable and has good tracking capability as the block FIR LMMSE equalizer.

[0097] The class of FIR LMMSE equalizers seeks to minimize the MSE criterion

J(i;G _(i))≡E[∥e _(i)∥²]  (48)

[0098] where

e _(i) ≡x _(i) −{circumflex over (x)} _(i)  (49)

x _(i) ≡[x ¹(i), . . . ,x ^(M)(i)]^(T)  (50)

[0099] and {circumflex over (x)}_(i) is the LMMSE estimate of x_(i) obtained by passing the observations through a multidimensional FIR filter. That is,

{circumflex over (x)} _(i) =G _(i) y _(i)  (51)

[0100] where

y _(i) ≡[y ^(T)(i+δ), . . . ,y ^(T)(i+δ−L)]^(T)  (52)

y(i)≡[y ₁(i), . . . ,y _(N)(i)]^(T).  (53)

[0101] Here, the parameters L and δ are referred to as the equalizer order and the number of precursor (or noncausal) taps, respectively. The MSE in (48) is to be optimized over the M×(L+1)N matrix G_(i), i.e., $\begin{matrix} {G_{i} = {\arg \quad {\min\limits_{G}\quad {{J\left( {i;G} \right)}.}}}} & (54) \end{matrix}$

[0102] There are many techniques to perform the optimization (54). One way is to rewrite (51) by vectorizing the matrix G_(i), which, conceptually, requires the inverse of a large matrix of order M(L+1)N. Here let us take the most expedient approach. From (48), (49), and (51), we have

J(i;G _(i))≡E{tr([x _(i) −G _(i) y _(i) ][x _(i) −G _(i) y _(i)]^(H)})  (55)

[0103] where tr(·) denotes the trace operator. Using the chain rule for differentiation-and the fact that $\begin{matrix} {{\frac{\partial}{\partial G}{{tr}({GM})}} = M^{H}} & (56) \end{matrix}$

[0104] we find, by setting to zero the derivative of (55) with respect to G_(i), that

E{[x _(i) −G _(i) y _(i) ]y _(i) ^(H)}=0  (57)

[0105] which yields

G _(i) =R _(xy)(i)R _(i) ⁻¹  (58)

[0106] with

R _(xy)(i)≡E[x _(i) y _(i) ^(H)]  (59)

R _(i) ≡E[y _(i) y _(i) ^(H)].  (60)

[0107] Knowing the channel impulse response, or having an estimate thereof, the cross-correlation (59) is easy to compute. With the assumption that the transmitted signals are chip-white and uncorrelated, i.e.,

E[x ^(t)(k)x ^(s*)(l)]=δ(t−s)δ(k−l)σ_(t) ²,  (61)

[0108] where σ_(t) ²≡E[|x^(t)(i)|²] is the total power of the tth transmit antenna, we have

R _(xy)(i)≡[V(δ)H ^(H)(i+δ), . . . ,V(δ−L)H ^(H)(i+δ−L)]:M×(L+1)N  (62)

[0109] with $\begin{matrix} {{V(l)} \equiv {\begin{bmatrix} {v_{1}^{t}(l)} & \quad & 0 \\ \quad & ⋰ & \quad \\ 0 & \quad & {v_{M}^{t}(l)} \end{bmatrix}\text{:}\quad M \times \left( {D + 1} \right)M}} & (63) \\ \begin{matrix} {{v_{t}(l)} \equiv {\begin{Bmatrix} {\left\lbrack {0,\ldots \quad,0,\underset{\underset{l + {1{st}\quad {position}}}{}}{\sigma_{t}^{2}},0,\ldots \quad,0} \right\rbrack^{T},} & {{\text{for}\quad 0} \leq l \leq D} \\ {0^{T},} & \text{otherwise} \end{Bmatrix}\text{:}}} \\ {{\left( {D = 1} \right) \times 1}} \end{matrix} & (64) \end{matrix}$

 H(i)≡[h ₁(i), . . . ,h _(N)(i)]^(T) : N×(D+1)M.  (65)

[0110] Due to (64), it is only when 0≦l≦D that V(l) is nonzero and in that case V(l) has only M nonzero elements, which can be pre-computed offline.

[0111] Now, the actual computational issue is one posed by the matrix inversion in (58). In the block LMMSE approach, the autocorrelation matrix R_(i) is approximated by the sample average $\begin{matrix} {{{\hat{R}}_{yy}(m)} = {\frac{1}{K}{\sum\limits_{l = 0}^{K - 1}{{y\left( {{mK} + l} \right)}{y^{H}\left( {{mK} + l} \right)}}}}} & (66) \end{matrix}$

[0112] and is assumed to hold constant over a block of K chips, with m denoting the block index. Matrix inversion is thus required once every block.

[0113] To avoid matrix inversion, let us now develop a chip-recursive swRLS form for the inverse autocorrelation matrix P_(i)≡R_(i) ⁻¹. Similar to (66), we approximate R_(i) by the sample average $\begin{matrix} {{\hat{R}}_{i} = {\frac{1}{K}{\sum\limits_{l = 0}^{K - 1}{y_{i + l}{y_{i + l}^{h}.}}}}} & (67) \end{matrix}$

[0114] It follows that $\begin{matrix} {{{\hat{R}}_{i + 1}{\hat{R}}_{i}} + {\frac{1}{K}E_{i}D\quad {E_{i}^{H}.}}} & (68) \end{matrix}$

[0115] where $\begin{matrix} {D \equiv {\begin{bmatrix} {- 1} & 0 \\ 0 & 1 \end{bmatrix}.}} & (70) \end{matrix}$

[0116] Using a conventional matrix inversion lemma (see, for example, M. H. Hayes, Statistical Digital Signal Processing and Modeling, John Wiley & Sons, Inc., New York, N.Y., 1996), it follows from (68) that

P _(i+1) =P _(i) −P _(i) E _(i) [KD+E _(i) ^(H) P _(i) E _(i)]⁻¹ E _(i) ^(H) P _(i).  (71)

[0117] Note that the sandwiched matrix being inverted in (71) is only of size 2×2, which poses no computational issue. Unlike other recursive forms that involve such parameters as the forgetting factor or the step size, the recursive form (71) is stable and has a good tracking capability. As the recursion progresses, old data samples at the back edge are pushed out of, and new the ones before the front edge are pushed into, the observation window, resulting in a continuous update operation. The window length K is the only parameter to be tuned, to which the algorithm is not highly sensitive. On the other hand, algorithms with forgetting factor or step size parameters are very sensitive to such parameters. The swRLS FIR LMMSE equalizer is summarized in Table II. TABLE II Summary of swRLS FIR LMMSE equalizer Initialize P₀ = R₀ ⁻¹ For i = 0,1, . . . , compute G_(i) = R_(xy) (i)P_(i), with R_(xy) (i) constructed by (62) x_(i) = G_(i)y_(i), with y_(i) constructed by (52) P_(i+1) = P_(i) − P_(i)E_(i)[KD + E_(i)P_(i)E_(i) ^(H)]⁻¹ E_(i) ^(H) P_(i), with E_(i) constructed by (69)

[0118] The chip-level MIMO state-space model is now described.

[0119] In this section, the state-space model for the MIMO CKF is developed. The CKF updates the state estimate at each chip epoch. Specifically, at the ith chip interval, the BLUE of {x^(t)(i): t=1, . . . , M} is sought based on all past observations {y_(r)(k): k≦i, r=1, . . . , N}. The observation vector at chip time i is defined by (53), which can be expressed as

y(i)=H(i)x(i)+v(i)  (72)

[0120] where H(i) is defined in (65), x(i) in (45) and v(i) in (32). As before, the measurement noise v(i) is assumed to have zero mean and autocorrelation matrix given by (38). The state dynamics is described by

x(i)=Ax(i−1)+w(i)  (73)

[0121] where

A≡I _(M)

A  (74)

w(i)≡[w ₁ ^(T)(i), . . . ,w _(M) ^(T)(i)]^(T)  (75) $\begin{matrix} {\overset{\sim}{A} = \begin{bmatrix} 0_{1 \times D} & 0 \\ I_{D} & 0_{D \times 1} \end{bmatrix}} & (76) \end{matrix}$

 w _(t)(i)=[x ^(t)(i),0, . . . ,0] ^(T):(D+ 1)×1  (77)

[0122] for t=1, . . . , M. Here, the notation

denotes the Kronecker product. With assumption (61), the autocorrelation of the state noise in (75) is given by $\begin{matrix} {{{Q_{w}(i)} \equiv {E\left\lbrack {{w(i)}{w^{H}(i)}} \right\rbrack}} = \begin{bmatrix} Q_{(1)} & \quad & 0 \\ \quad & ⋰ & \quad \\ 0 & \quad & Q_{M} \end{bmatrix}} & (78) \end{matrix}$

 Q _((t)) ≡diag(σ_(t) ²,0, . . . ,0):(D+1)×(D+1).  (79)

[0123] for t=1, . . . , M, where σ_(t) ² is as defined blow eq. (61).

[0124] The symbol-level MIMO state-space model is described next.

[0125] For completeness and performance comparison purposes, in this section the symbol-level state-space model for MIMO links is developed. In this model, the time index is the symbol index. At time n, the SKF operating under this model seeks the BLUE of {[x^(t)(nF+F−1, . . . , x^(t)(nF)]: t=1, . . . , M} based on all past observations {y_(r)(k): k≦, nF+F−1; r=1, . . . , N}. One may define the observation vector at time n as

y(n)≡[y ₁ ^(T)(n), . . . ,y _(N) ^(T)(n)]^(T)  (80)

y _(r)(n)≡[y _(r)(nF+F−1), . . . ,y _(r)(nF)]^(T).  (81)

[0126] for r=1, . . . , N, where y_(r)(i) is given by (43). Based on the signal model given above in the discussion of the MOMO signal model, one obtains

y _(r)(n)=H _(r)(n)x(n)+v _(r)(n)  (82)

[0127] where

H _(r)(n)≡[H _(r) ¹(n), . . . ,H _(r) ^(M)(n)]:F×(D+F)M.  (83)

x(n)≡x ^(1T)(n), . . . ,x ^(MT)(n)]^(T)  (84) $\begin{matrix} {{H_{r}^{t}(n)} \equiv {\begin{bmatrix} {h_{r,0}^{t}(n)} & \cdots & {h_{r,D}^{t}(n)} & \quad & 0 \\ \quad & ⋰ & \quad & ⋰ & \quad \\ 0 & \quad & {h_{r,0}^{t}(n)} & \cdots & {h_{r,D}^{t}(n)} \end{bmatrix}\text{:}\quad F \times \left( {D + F} \right)}} & (85) \end{matrix}$

 x ^(t)(n)≡[x ^(t)(nF+F −1), . . . ,x ^(t)(nF−D)]^(T)  (86)

v_(r)(n)˜i.i.d.CN(0,σ_(v) ²I_(F)).  (87)

[0128] In (85) it has been assumed, for notional simplicity, that the channel is constant over each symbol period. The measurement equation can now be written as

y(n)≡H(n)x(n)+v(n)  (88)

[0129] where

H(n)≡[H ₁ ^(T)(n), . . . ,H _(N) ^(T)(n)]^(T)  (89)

v(n)≡[v₁ ^(T)(n), . . . ,v _(N) ^(T)(n)]^(T) ˜i.i.d.CN(0,σ_(v) ² I _(NF))  (90)

[0130] The state dynamics is described by

x(n)=Ax(n−1)+w(n)  (91)

[0131] where

A≡I_(M)

Ã  (92)

w(n)≡[w ₁ ^(T)(n), . . . ,w _(M) ^(T)(n)]^(T)  (93) $\begin{matrix} {\overset{\sim}{A} = \begin{bmatrix} 0_{F \times D} & 0_{F \times F} \\ I_{D} & 0_{D \times F} \end{bmatrix}} & (94) \end{matrix}$

 w _(t)(n)=[x ^(t)(nF+F −1), . . . ,x ^(t)(nF),0, . . . ,0] ^(T):(F+D)×1.  (95)

[0132] With the assumption that data streams transmitted via different antennas are uncorrelated, the autocorrelation matrix of the state noise process defined by (93) is given by

Q _(w)(n)=I _(M)

Q(n)  (96) $\begin{matrix} {{Q(n)} = \begin{bmatrix} {{\overset{\sim}{Q}}_{w}(n)} & 0_{F \times D} \\ 0_{D \times F} & 0_{D \times D} \end{bmatrix}} & (97) \end{matrix}$

[0133] where the matrix {tilde over (Q)}_(w)(n) is given by (18) together with (19). An approximate version of (96) can be obtained by using

{circumflex over (R)} _(ss)=σ² I _(F)  (98)

[0134] in place of R_(ss) in (18), where σ² is the total power of each transmit antenna. For convenience, it has been assumed in (96) and (98) that each Walsh code user divides its power equally among all transmit antennas.

[0135] A discussion is now made of complexity and a reduced-complexity Kalman filter.

[0136] A complexity analysis is now undertaken.

[0137] Table III summarizes the complexity of five algorithms for SISO systems. Here, the recursive FIR algorithm is one that updates the observed autocorrelation matrix according to

R _(yy)(t+1)=λR _(yy)(t)+(1−λ)y(t+1)y ^(H)(t+1)  (99) TABLE III Per-chip complexity for SISO links with M = N = 1, f = complexity reduction factor Algorithm Parameter Complex multiplications Complex additions CKF p = D = 1 $O\left( {\frac{{3{p^{2}/2}} + {2p}}{f} + {2p}} \right)$

O(3p²/2f + 2p) SKF p = D + F $O\left( {\frac{{3{p^{2}/2}} + {2F\quad p} + F^{2}}{f} + {2p}} \right)$

$O\left( {\frac{{2p^{2}} + {2F\quad p} + F^{2}}{f} + {2p}} \right)$

Recursive FIR p = L + 1 O(2p² + 3p) O(3p²/2) swRLS FIR p = L + 1 O(2p² + 8p + Dp) O(3p² + 5p) Block LMMSE p = L + 1 $O\left( {\frac{p^{3} + p^{2}}{K} + {2p}} \right)$

$O\left( {\frac{p^{3} + {2p^{2}}}{K} + {2p}} \right)$

[0138] TABLE IV Per-chip complexity for MIMO links. f = complexity reduction factor Algorithm Parameter Complex multiplications Complex additions CKF p = (D + 1)M $O\left( {\frac{{2\left( {Np} \right)^{2}} + {2N^{2}\quad p}}{f} + {2{Np}}} \right)$

$O\left( {\frac{{2\left( {Np} \right)^{2}} + {N^{2}\quad p} - {p^{2}/2}}{f} + {2{Np}}} \right)$

swRLS p = (L + 1)N O(4p² + 8p + MNDp) O(7p²/2 + 4p + Mp + MNp) FIR Block p = (L + 1)N $O\left( {\frac{p^{3} + {M\quad N\quad D\quad p}}{K} + {2M\quad N\quad L}} \right)$

$O\left( {\frac{p^{3} + {M\quad N\quad D\quad p}}{K} + {Mp} + \quad {N^{2}\quad L}} \right)$

LMMSE

[0139] TABLE V Per-chip complexity values for SISO with F = 32, D = 5, L = 15, K = 256 Algorithm CMs** CAs*** CKF (f = 240/5) O(14) O(14) SKF (f = 1) O(5520) O(6204) Recursive FIR O(560) O(384) swRLS FIR O(1232) O(848) Block LMMSE O(50) O(50)

[0140] TABLE VI Per-chip complexity values for MIMO with M = N = 2, F = 32, D = 5, L = 15, K = 256 Algorithm CMs CAs CKF (f = 240/5) O(62) O(60) swRLS FIR O(5000) O(3900) Block LMMSE O(250) O(255)

[0141] from which a recursive inverse autocorrelation matrix is obtained. Meanwhile, the block FIR LMMSE computes the observed autocorrelation matrix according to (66), which requires one matrix inversion per block. Note that the parameter p for the FIR filtering methods is different from that for the Kalman filtering methods. Specifically, p=D+1 for the CKF and p=L+1 for the block FIR; the importance here is that the FIR equalizer order always needs to be several times greater than the channel order, i.e., L>>D. The swRLS algorithm has a slightly higher complexity than the recursive FIR filter. The complexity reduction factor f for the Kalman filter will be defined below.

[0142] Table IV summarizes the complexity analysis of three algorithms for MIMO systems. Depending on the values of f and K, the CKF and the block FIR LMMSE filter have similar complexities. Unlike the SISO case, where the number of computations required by the matrix inversion can be reduced to O(p²) by taking advantage of the Toepitz structure of the autocorrelation matrix, the Toepitz structure does not exist in the MIMO case. Therefore, for moderate K, the complexity of the block FIR LMMSE filter is dominated by the cubic term p³ due to direct matrix inversion every block. This complexity can be reduced by increasing the block length K. Unfortunately, K is upper limited by the coherence time of the channel, which implies that in fast fading environments the CKF tends to be a better choice than the other methods. Typical complexity values are listed in Tables V and Error! Reference source not found for the Vehicle-A channel model.

[0143] The reduced-complexity Kalman filter is now described.

[0144] It may appear that the CKF is not less expensive than the block FIR LMMSE equalizer if the block length K can be made large (in slow fading environments). However, like the block FIR LMMSE equalizer, the CKF can also take advantage of slow fading to reduce its complexity. In fact, it is a well-known property that for stationary processes, the Kalman filter converges to the optimal causal IIR Wiener filter. In such a case, the prediction error covariance matrix P(k|k−1), the Kalman gain K(k) and the filtering error covariance matrix P(k|k) each converges to a steady state value.

[0145] Consider the state-space model

x(k)=Ax(k−1)+w(k)  (100)

y(k)=Hx(k)+v(k)  (101)

[0146] where it has been assumed that the channel stays relatively constant over a long duration, i.e., H(k)=H. To ensure system stability, assume that all the eigenvalues of A lie inside the unit circle (stability is discussed in the next section.) Also assume a stationary transmitted signal and stationary observation noise such that Q_(w)(k)=Q_(w), which holds relatively well for normally to highly loaded CDMA signals, and Q_(v)(k)=σ_(v) ²I. Then, given a positive semidefinite P(k_(o)|k_(o)−1) for some k_(o), as k→∞, P(k|k−1) converges to the steady-state value P that satisfies the Riccati equation

P=A[P−PH ^(H)(HPH ^(H) +Q _(v))⁻¹ HP]A ^(H) +Q _(w).  (102)

[0147] Therefore, P(k|k) and K(k) also converge to their steady state values. In practice, it takes only a small number of steps for the Kalman gain and the error covariance matrices to converge. FIG. 1 shows an example where the convergence time is only about 5 to 6 chip periods.

[0148] To reduce the complexity of the Kalman filter, let l_(s) denote the number of consecutive time steps over which the state-space model can be considered stationary. Let l_(t) denote the settling time (the number of steps it takes for the Kalman filter to converge). Since l_(s), which is on the order of the coherence time of the channel, is generally large and l_(t) is generally small, we have that l_(t)<<l_(s). Then, in each window of l_(s) time steps, P(k|k−1), K(k), and P(k|k) need to be updated only during the first l_(t) steps. In other words, the operation to update these variables can be turned on and off periodically. The resulting reduced complexity recursion is summarized in Table VII. One can see that the complexity of the update routine for P(k|k−1), K(k), and P(k|k) is reduced by the factor

f=l _(s) /l _(t).  (103) TABLE VII Reduced complexity Kalman filter Initialize P⁺ = P(0|0). For k =1,2, ... , compute x(k|k − 1) = Ax(k − 1|k − 1) if mod(k,l_(s)) ≦ l_(t) {  P⁻ = AP⁺ A^(H) + Q_(w)  K = P⁻H^(H)[HP⁻H^(H) + Q_(v)]⁻¹  P⁺ = [I − KH]P⁻ } x(k|k) = x(k|k − 1) + K[y(k) − Hx(k|k − 1)]

[0149] A discussion is now made of stability and observability.

[0150] Stability: One may readily verify that all eigenvalues of the A matrices of the above state-space models lie inside the unit circle in the complex plane. In fact, all the eigenvalues are zero. Therefore, the state equations are asymptotically stable. Moreover, asymptotic stability implies BIBO stability. Thus, the models are stable.

[0151] Observability: The observability of a state-space model has a direct effect on the estimability of the state vector at an arbitrary time epoch, given the set of observations over a certain time interval. Estimability in stochastic systems can be thought of as the counterpart of observability in deterministic systems. Generally speaking, if a deterministic state-space model is observable, then the state vector of the corresponding stochastic state-space model is estimable. To show that the state vectors of the state-space models developed above are estimable by means of the Kalman filter, it is now established that the models are observable.

[0152] In the observability discussion, the model is considered deterministic, i.e., the noise processes are replaced by deterministic functions. Without loss of generality, the observation noise is set to zero. It thus suffices to consider the model

x(k)=A(k)x(k−1)+w(k)  (104)

y(k)=H(k)x(k).  (105)

[0153] From the definition of observability (see C.-T. Chen, Linear System Theory and Design, Oxford University Press: New York, N.Y., 1999) the state-space model defined by (104) and (105) is observable if and only if for any k₁, there exists k₂>k₁ such that the observability matrix $\begin{matrix} {{O\left( {k_{1},k_{2}} \right)} = \begin{bmatrix} {H\left( k_{1} \right)} \\ {{H\left( {k_{1} + 1} \right)}{A\left( {k_{1} + 1} \right)}} \\ \vdots \\ {{H\left( k_{2} \right)}{\prod\limits_{k = 0}^{k_{2} - k_{1} - 1}\quad {A\left( {k_{2} - k} \right)}}} \end{bmatrix}} & (106) \end{matrix}$

[0154] has full column rank. If the model is observable, then given the observations {y(k): k=k₁, . . . , k₂} and the knowledge of the driving input {w(k): k=k₁, . . . , k₂} the initial state x(k₁) is uniquely determined. In the models developed herein, the A-matrices are time invariant and, hence, the observability matrix becomes $\begin{matrix} {{O\left( {k_{1},k_{2}} \right)} = \begin{bmatrix} {H\left( k_{1} \right)} \\ {{H\left( {k_{1} + 1} \right)}A} \\ \vdots \\ {{H\left( k_{2} \right)}\quad A^{k_{2} - k_{1}}} \end{bmatrix}} & (107) \end{matrix}$

[0155] For clarity, the discussion is restricted specifically to the SISO case with single receive antenna (N=1); the same conclusion can be drawn for all the other cases. First consider the chip-level SISO model. Assuming that the leading and the tailing channel coefficients are nonzero, i.e., h₀(i)≠0 and h_(D)(i)≠0. (If any of them is zero then the channel can be shortened to make the leading and the tailing coefficients nonzero). It is easy to show that for k₂=k₁+D the observability matrix has the anti upper triangular form $\begin{matrix} {{O\left( {k_{1},{k_{1} + D}} \right)} = \begin{bmatrix} {h_{0}\left( k_{1} \right)} & \cdots & {h_{D - 1}\left( k_{1} \right)} & {h_{D}\left( k_{1} \right)} \\ {h_{1}\left( {k_{1} + 1} \right)} & \cdots & {h_{D}\left( {k_{1} + 1} \right)} & 0 \\ \vdots & \ddots & \ddots & \vdots \\ {h_{D}\left( {k_{1} + D} \right)} & 0 & \cdots & 0 \end{bmatrix}} & (108) \end{matrix}$

[0156] which has full rank. For the symbol-level case, the interested reader may verify that O(k₁,k₂) has full column rank if k₂≧k₁+┌D/F┐, where ┌·┐ denotes the ceiling function.

[0157] The error rate performances of the Kalman and the swRLS filters can be simulated using a Matlab simulation chain. The filters are compared in performance with two FIR LMMSE methods, namely the block FIR LMMSE filter, which computes the observed autocorrelation matrix according to (66) and then employs direct matrix inversion, and the recursive FIR LMMSE, which uses the recursive inverse form of (99). The investigation herein uses the 1XEV-DV standard and Table VIII lists the parameters repeatedly used in the simulations. TABLE VIII Common simulation settings Standard 1XEV-DV Data rate (kb/s) 163.2 (QPSK) Channel models tested Veh-A, Veh-B Data rate (kb/s) 316.8 (16QAM) Modulation QPSK, 16QAM FEC rate (QPSK, 16QAM) 0.7083/M, 0.5156/M No. of desired Walsh codes 3 (QPSK) Pilot power 10% No. of desired Walsh codes 4 (16QAM) User power 90% Total No. of Walsh codes U = 25 User power distribution Even Spread factor F = 32 Channel estimation Ideal

[0158] SISO Simulations

[0159] Simulation results for SISO systems are shown in FIGS. 6 and 7 for QPSK and in FIGS. 4 and 5 for 16QAM. It is interesting to see from FIG. 2 that the CKF and the SKF have comparable performances and are about 2 dB better than the FIR filters. Furthermore, the SKF exhibits no appreciable performance loss when the code correlation matrix R_(ss) matrix in (19) is replaced by approximation (23). In FIGS. 3 and 5 the simulation is performed at a high vehicle speed (v=120 km/h); the CKF in this case has a substantial performance gain over the FIR LMMSE filter-based methods. The performance of the reduced-complexity CKF is shown in FIG. 2(b), where f=240/5 resulting in a degradation of about 0.5 dB; and in FIG. 3, where f=192/32 which degrades the performance by about 0.2 dB.

[0160] MIMO Simulations

[0161] Simulation results for MIMO systems are shown in FIGS. 6 and 7 for QPSK and in FIG. 8 for 16QAM. It may be seen here again that the SKF and the CKF perform comparably. Also, the swRLS and the block FIR LMMSE filters are virtually identical in performance.

[0162] The results in FIG. 7 are for a MISO system with two transmit antennas and one receive antenna. In this scenario, the FIR LMMSE methods exhibit a noise floor at a BLER slightly above 10⁻², while the Kalman filter-based methods show no noise floor in the given BLER range. Comparing FIGS. 2 and 7 reveals that, with one receive antenna, no diversity gain is seen when the number of transmit antennas is increased from one to two, even though in doing so the effective turbo code rate is reduced by a factor of two for MIMO transmission (the total transmit power unchanged). On the other hand, the diversity gain is significant when two receive antennas are used instead of one, as indicated by FIGS. 6 and 7.

[0163] Note, in particular, from FIG. 6(b) that a complexity reduction factor of f=240/5 results in virtually no performance loss for the CKF. In FIG. 6(a), the performance loss is almost unnoticeable for f=256/32, indicating that the reduction factor could be increased to a higher value such as the one in FIG. 6(b).

[0164] By way of review, in this patent application the inventors have developed symbol-level and chip-level state-space models for downlink CDMA channels. The Kalnan filter 14B, 24B shown in FIGS. 9B and 10B is employed to estimate the transmitted downlink signal in order to restored the user codes' orthogonality, thereby arriving at an efficient single-user detection method for each state-space model. The results of simulations have been provided to illustrate that the Kalman filter outperforms the FIR LMMSE filters by about 1.5-2 dB. Greater gains are seen at high mobile speeds (e.g., 120 km/h).

[0165] While the FIR LMMSE filter can take advantage of slow fading to reduce the computational complexity, the KF can do likewise by periodically skipping the update of the Kalman gain and the error covariance matrices, thanks to its fast convergence behavior. Such a scheme results in a reduced-complexity KF that exhibits negligible loss in performance for reasonable reduction factors.

[0166] Unlike the conventional FIR LMMSE methods which yield biased signal estimates, the KF has been shown to be a minimum-variance unbiased estimator. This is an advantageous feature that eliminates the need to offset the bias prior to performing soft demodulation.

[0167] The foregoing description has provided by way of exemplary and non-limiting examples a fuill and informative description of the best method and apparatus presently contemplated by the inventors for carrying out the invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims.

[0168] As a first example, in the foregoing description an assumption has been made that the channel estimate information H is available. In practice, however, the channel is estimated from the pilot signals contained in the downlink signals and is subject to an estimation error due to multiple access interference. The channel estimate can, however, be improved by feeding the soft signal estimate at the output of the KF back to the channel estimator and combining it with the pilot signals, thereby giving rise to a stronger effective pilot signal. This (optional) feedback path (FBP) is shown in FIGS. 9B and 10B as a dashed line. The soft feedback thus accounts for all traffic interference. On the other hand, hard decision feedback from the output of the demodulator is also possible, which, however, accounts only for the desired user traffic.

[0169] As another example, it should also be noted that an embodiment of the Kalman filter may be realized in the square-root form. The square-root Kalman filter performs better at keeping the error covariance matrices nonnegative definite, and enhances the matrix condition number and, hence, has an improved numerical stability.

[0170] As another example, it is also with the scope of this invention to estimate the current state x(k) based on the observations {y(l): l≦k+L}, with L>0. That is, the observations contain L samples into the future. This estirnate can be obtained by employing a fixed-lag Kalman smoother. However, the Kalman smoother requires a higher computational power than the Kalman filter. As such, a reduced complexity Kalman smoother may be preferred for this particular embodiment.

[0171] Further, it should be noted that the error covariance matrix P(k|k) contains useful information. Since the diagonal elements of the matrix are a reliability measure for the chip estimates and, hence, the symbol estimates, incorporating this information into the soft demodulator/decoder 15D, 25D may be used to further improve the bit error performance. In the 16QAM simulations of the SISO CKF, the soft demodulated bits (centered at ±1) associated with the nth symbol estimate are scaled by 1/s_(n) prior to decoding, where s_(n) is the symbol error variance obtained from the output of the CKF. However, all such and similar modifications of and adaptations to the teachings of this invention will still fall within the scope of this invention. Further, while the method and apparatus described herein are provided with a certain degree of specificity, the present invention could be implemented with either greater or lesser specificity, depending on the needs of the user. Further, some of the features of the present invention could be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles of the present invention, and not in limitation thereof, as this invention is defined by the claims which follow. 

What is claimed is:
 1. A method to process a signal received from a downlink code-division multiple access CDMA channel, comprising: receiving the downlink signal; and applying the received downlink signal to an equalizer that operates in accordance with a Kalman filter for generating a best linear unbiased estimate of a transmitted chip sequence for a single user.
 2. A method as in claim 1, where l_(s) denotes a number of consecutive time steps over which a state-space model can be considered stationary, where l_(t) denotes the settling time as a number of steps required for the Kalman filter to converge, where l_(s) is on the order of the coherence time of the channel such that l_(t)<<l_(s), further comprising, in each window of l_(s) time steps, updating a Kalman filter prediction error covariance matrix P(k|k−1), a Kalman filter filtering error covariance matrix P(k|k) and the Kalman gain K(k) only during the first l_(t) steps for reducing the computational complexity of the Kalman filter.
 3. A method as in claim 1, where the downlink is implemented using a single input single output SISO system with quadrature phase shift key QPSK modulation.
 4. A method as in claim 1, where the downlink is implemented using a single input single output SISO system with quadrature amplitude modulation QAM.
 5. A method as in claim 1, where the downlink is implemented using a multiple input multiple output MIMO system with quadrature phase shift key QPSK modulation.
 6. A method as in claim 1, where the downlink is implemented using a multiple input multiple output MIMO system with quadrature amplitude modulation QAM.
 7. A method as in claim 1, further comprising estimating the downlink channel using at least one downlink pilot signal, and feeding-back an output from the Kalman filter to the channel estimation to obtain a stronger effective pilot signal.
 8. A method as in claim 1, further comprising providing chip reliability estimates from a filtering error covariance matrix P(k|k) of the Kalman filter to a soft demodulator and decoder.
 9. A method as in claim 1, further comprising estimating a current channel state x(k) using L future samples obtained from a fixed-lag Kalman smoother.
 10. A method as in claim 1, where the Kalman filter comprises a square root Kalman filter.
 11. A method as in claim 1, where the downlink is implemented using a symbol-level single input single output SISO system, where a state-space model of the downlink CDMA channel yields a measurement equation of y(n)=H(n)x(n)+{tilde over (y)}(n)+v(n), where, for a symbol index of n, H represents a channel estimate, x represents the transmitted signal, {tilde over (y)} represents the channel response due to known pilot signals and v represents a measurement noise process; and where state dynamics are described by x(n)=A(n)x(n−1)+w(n), where A represents the signal amplitude and w represents a state noise process.
 12. A method as in claim 1, where the downlink is implemented using a chip-level single input single output SISO system, where a state-space model of the downlink CDMA channel yields a measurement equation of y(i)=H(i)x(i)+{tilde over (y)}(i)+v(i), where, for a chip index of i, H represents a channel estimate, x represents the transmitted signal, {tilde over (y)} represents the channel response due to known pilot signals and v represents a measurement noise process; and where state dynamics are described by x(i)=A(i)x(i−1)+w(i), where A represents the signal amplitude and w represents a state noise process.
 13. A method as in claim 1, where the downlink is implemented using a symbol-level multiple input multiple output MIMO system, where a state-space model of the downlink CDMA channel yields a measurement equation of y(n)=H(n)x(n)+v(n), where, for a symbol index of n, H represents a channel estimate, x represents the transmitted signal and v represents a measurement noise process; and where state dynamics are described by x(n)=Ax(n−1)+w(n), where A represents the signal amplitude and w represents a state noise process.
 14. A method as in claim 1, where the downlink is implemented using a chip-level multiple input multiple output MIMO system, where a state-space model of the downlink CDMA channel yields a measurement equation of y(i)=H(i)x(i)+v(i), where, for a chip index of i, H represents a channel estimate, x represents the transmitted signal and v represents a measurement noise process; and where state dynamics are described by x(i)=Ax(i−1)+w(i), where A represents the signal amplitude and w represents a state noise process.
 15. A mean square error (MSE) equalizer for single-user detection of a signal received from a downlink code-division multiple access CDMA channel, comprising a Kalman filter having an input coupled to the received signal for generating a best linear unbiased estimate of a transmitted chip sequence for a single user.
 16. An equalizer as in claim 15, where l_(s) denotes a number of consecutive time steps over which a state-space model can be considered stationary, where l_(t) denotes the settling time as a number of steps required for the Kalman filter to converge, where l_(s) is on the order of the coherence time of the channel such that l_(t)<<l_(s), further comprising, in each window of l_(s) time steps, means for updating a Kalman filter prediction error covariance matrix P(k|k−1), a Kalman filter filtering error covariance matrix P(k|k) and the Kalman gain K(k) only during the first l_(t) steps for reducing the computational complexity of the Kalman filter.
 17. An equalizer as in claim 15, where the downlink is implemented using a single input single output SISO system with quadrature phase shift key QPSK modulation.
 18. An equalizer as in claim 15, where the downlink is implemented using a single input single output SISO system with quadrature amplitude modulation QAM.
 19. An equalizer as in claim 15, where the downlink is implemented using a multiple input multiple output MIMO system with quadrature phase shift key QPSK modulation.
 20. An equalizer as in claim 15, where the downlink is implemented using a multiple input multiple output MIMO system with quadrature amplitude modulation QAM.
 21. An equalizer as in claim 15, further comprising a feed-back path for feeding back an output from the Kalman filter to a channel estimator to obtain a stronger effective pilot signal.
 22. An equalizer as in claim 15, further comprising a path for providing chip reliability estimates from a filtering error covariance matrix P(k|k) of the Kalman filter to a soft demodulator and decoder.
 23. An equalizer as in claim 15, further comprising means for estimating a current channel state x(k) using L future samples obtained from a fixed-lag Kalman smoother.
 24. An equalizer as in claim 15, where the Kalman filter comprises a square root Kalman filter.
 25. A mobile station, comprising a receiver for receiving a downlink code-division multiple access CDMA channel, and a mean square error (MSE) equalizer for performing single-user detection of a signal received from the downlink CDMA channel, said equalizer comprising a Kalman filter having an input coupled to the received signal for generating a best linear unbiased estimate of a transmitted chip sequence for a single user.
 26. A mobile station as in claim 25, where l_(s) denotes a number of consecutive time steps over which a state-space model can be considered stationary, where l_(t) denotes the settling time as a number of steps required for the Kalman filter to converge, where l_(s) is on the order of the coherence time of the channel such that l_(t)<<l_(s), further comprising, in each window of l_(s) time steps, means for updating a Kalman filter prediction error covariance matrix P(k|k−1), a Kalman filter filtering error covariance matrix P(k|k) and the Kalman gain K(k) only during the first l_(t) steps for reducing the computational complexity of the Kalman filter. 